package com.charm.restaurant.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.charm.restaurant.common.Result;
import com.charm.restaurant.entity.Inventory;

import java.util.List;

/**
 * 库存服务接口
 */
public interface InventoryService extends IService<Inventory> {

    /**
     * 新增库存
     */
    Result<Inventory> saveInventory(Inventory inventory);

    /**
     * 分页查询库存
     */
    Result<Page<Inventory>> pageInventory(int page, int pageSize, String name, String type);

    /**
     * 根据ID查询库存
     */
    Result<Inventory> getInventoryById(Long id);

    /**
     * 修改库存
     */
    Result<Inventory> updateInventory(Inventory inventory);

    /**
     * 删除库存
     */
    Result<String> deleteInventory(List<Long> ids);

    /**
     * 更新库存数量
     */
    Result<String> updateStock(Long id, Integer quantity, String type);

    /**
     * 查询库存警告（库存不足）
     */
    Result<List<Inventory>> getInventoryWarning();
}